iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
自我挑戰組

TypeScript 從0開始系列 第 21

D21 - JS Array (5)

  • 分享至 

  • xImage
  •  

JS Array 系列最後一篇了

  • Array.prototype.join()

    // join() 可以把 array中的element用comma串接成一個字串
    // join(separator) 也可以替換成其他separator
    
    const elements = [1, 2, 3]
    
    console.log(elements.join()) // > "1,2,3"
    console.log(elements.join('')) // > "123"
    console.log(elements.join('-')) // > "1-2-3"
    
  • Array.prototype.reverse() / toReversed()

    const elements = [1, 2, 3]
    
    console.log(elements) // [1, 2, 3]
    console.log(elements.reverse()) // [3, 2, 1]
    console.log(elements) // [3, 2, 1]
    
    // ** reverse() 會改變array原本的狀態
    
    const array = [1, 2, 3]
    console.log(array)
    console.log(array.toReversed())
    console.log(array)
    
    // ** 要用 toReversed() 才會維持原狀態
    
  • Array.prototype.shift() / unshift()

    // shift() 移除array最前方的element、回傳被移除的element
    
    const arr = [1, 2, 3]
    beRemoved = arr.shift()
    
    console.log(beRemoved) // 1
    console.log(arr) // [2, 3]
    
    // unshift() 在array最前方加入傳入 element
    let array = [1, 2, 3]
    
    array.unshift() 
    console.log(array) // [1, 2, 3]
    
    array.unshift(-1, 0) // 呼叫就會改變array原始狀態
    console.log(array) // [-1, 0, 1, 2, 3]
    
    array.unshift([-3, -2]) // 呼叫就會改變array原始狀態
    console.log(array) // [[-3, -2], -1, 0, 1, 2, 3]
    
  • Array.prototype.slice()

    // slice()
    // slice(start)
    // slice(start, end)
    
    const array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    console.log(array.slice()) // 沒切
    // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    console.log(array.slice(3)) // 從index = 3之前切一刀
    // [3, 4, 5, 6, 7, 8, 9]
    ****
    console.log(array.slice(3, 7)) // 從index = 3之前切一刀,index = 7之前切一刀
    // [3, 4, 5, 6]
    
    console.log(array.slice(-3)) // 從index = -3 之前切一刀, index -3 為 index 7
    // [7, 8 ,9]
    console.log(array.slice(-3, -1)) // 從index = -3之前切一刀,index = -1之前切一刀
    // [7, 8]
    
    console.log(array.slice(2, -3)) // 從index = 2之前切一刀,index = -3之前切一刀
    // [2, 3, 4, 5, 6]
    
  • Array.prototype.sort() / toSorted()

    // 比較 UTF-16 編碼排序
    // sort() 直接操作array內容,toSorted則不會改變原本內容
    
    const months = ['March', 'Jan', 'Feb', 'Dec'];
    months.sort();
    console.log(months);
    // Expected output: Array ["Dec", "Feb", "Jan", "March"]
    
    const array1 = [1, 30, 4, 21, 100000];
    array1.sort();
    console.log(array1);
    // Expected output: Array [1, 100000, 21, 30, 4]
    

上一篇
D20 - Between clock-in and clock-out
系列文
TypeScript 從0開始21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言